<template>
    <div class="register">
        <section class="form_container">
            <div class="manage_tip">
                <span class="title">志权后台管理系统</span>

                <el-form :model="registerUser" :rules="rules" ref="registerForm" label-width="100px" class="registerForm">
                    <el-form-item label="用户名" prop="name">
                        <el-input v-model="registerUser.name" placeholder="请输入用户名"></el-input>
                    </el-form-item>
                    <el-form-item label="密码" prop="password">
                        <el-input type="password" v-model="registerUser.password" placeholder="请输入密码"></el-input>
                    </el-form-item>
                    <el-form-item label="确认密码" prop="checkPassword">
                        <el-input type="password" v-model="registerUser.checkPassword" placeholder="请确认密码"></el-input>
                    </el-form-item>
                    <el-form-item label="邮箱" prop="email">
                        <el-input v-model="registerUser.email" placeholder="请输入邮箱"></el-input>
                    </el-form-item>
                    <el-form-item label="选择身份">
                        <el-select v-model="registerUser.user" placeholder="请选择身份">
                            <el-option label="老板" value="boss"></el-option>
                            <el-option label="员工" value="employee"></el-option>
                        </el-select>
                    </el-form-item>
                    <el-form-item>
                        <el-button type="primary" @click="submitForm('registerForm')" class="submit_btn">注册</el-button>
                        <!-- <el-button @click="resetForm('ruleForm')">重置</el-button> -->
                    </el-form-item>
                     <div class="tiparea">
                        <p>已有账号?现在<router-link to="/login">登录</router-link></p>
                    </div>
                </el-form>

            </div>
        </section>
    </div>
</template>
<script>
export default {
  name: "Register",
  data () {

       var validatePass2 = (rule, value, callback) => {
         if (value !== this.registerUser.password) {
          callback(new Error('两次输入密码不一致!'));
        } else {
          callback();
        }
      };
    return {
        registerUser:{
            name: '',
            password: '',
            checkPassword: '',
            email: '',
            user: ''
        },
        rules:{
            name: [
                {
                    require: true,
                    message: '用户名不能为空',
                    // 失去焦点后触发
                    trigger: 'blur'
                }
            ],
            password: [
                {
                    require: true,
                    message: '密码不能为空',
                    trigger: 'blur'
                },
                {
                    min: 6,
                    max: 15,
                    message: "长度在 6 到 15 个字符",
                    trigger: 'blur'
                }
            ],
            checkPassword: [
                {
                    require: true,
                    message: '长度在 6 到 15 个字符',
                    trigger: 'blur'
                },
                {
                    validator: validatePass2,
                    trigger: "blur"
                }
            ],
            email: [
                {
                    require: true,
                    type: 'email',
                    message: '邮箱格式不正确',
                    trigger: 'blur'
                },

            ]
        }
    };
  },
  methods: {
      submitForm(formName){
          this.$refs['registerForm'].validate((valid) => {
          if (valid) {
            this.$axios.post("/api/users/register",this.registerUser)
                       .then(res =>{
                           this.$message({
                               message: "注册成功!!!",
                               type: "success",
                           })
                           this.$router.push("/login")
                       })
          } else {
            console.log('注册失败!!');
            return false;
          }
        });
      }
  },
}
</script>
<style scoped>
.register{
    position: relative;
    width: 100%;
    height: 100%;
    background: url("../assets/bg.jpg") no-repeat center center;
    background-size: 100% 100%;
}
.form_container{
    position: absolute;
    top: 15%;
    left: 38%;
    width: 360px;
    height: 210px;
    padding: 25px;
    text-align: center;

}
.form_container .manage_tip .title {
    color: #fff;
    font-family: "Microsoft YaHei";
    font-weight: bold;
    font-size: 25px;

}
.registerForm{
    margin-top: 20px;
    padding: 20px 50px 3px 15px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0px 5px 5px #cccc;
}
.submit_btn{
    width: 100%;
}
.tiparea{
    text-align: right;
    font-size: 12px;
    color: #333;
    margin-bottom: 10px;
}
.tiparea p a{
    color: #409eff;
}
</style>